/*
 * hudong.com Inc.
 * Copyright (c) 2000-2004 All Rights Reserved.
 */
package middlegen.plugins.ibatis.config;

import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;

public class ResultMapConfig {
    /** the name of the result map */
    protected String      name;

    /** a list of all column configurations */
    protected List        columns = new ArrayList();

    /** belong to which table */
    protected TableConfig tableConfig;

    /**
     * Constructor for IWalletResultMapConfig.
     */
    public ResultMapConfig() {
        super();
    }

    /**
     * @return
     */
    public String getName() {
        return name;
    }

    /**
     * @param string
     */
    public void setName(String string) {
        name = string;
    }

    /**
     * @return
     */
    public TableConfig getTableConfig() {
        return tableConfig;
    }

    /**
     * @param config
     */
    public void setTableConfig(TableConfig config) {
        tableConfig = config;
    }

    public List getColumns() {
        return columns;
    }

    /**
     * Add a column configuration.
     *
     * @param columnConfig
     */
    public void addColumn(ColumnConfig columnConfig) {
        if (columnConfig != null) {
            columns.add(columnConfig);
        }
    }

//    public ColumnConfig getColumnConfig(String sqlName) {
//        for (int i = 0; i < columns.size(); i++) {
//            ColumnConfig cc = (ColumnConfig) columns.get(i);
//            if (StringUtils.equals(sqlName.toLowerCase(), cc.getName().toLowerCase())) {
//                return cc;
//            }
//        }
//        return null;
//    }

    /**
     * @return
     *
     * @see java.lang.Object#toString()
     */
    public String toString() {
        StringBuffer sb = new StringBuffer();

        sb.append("[name=").append(name).append("]");

        return sb.toString();
    }
}
